package com.beyond.flow.container

import com.beyond.flow.inter.UiEvent
import com.beyond.flow.inter.UiState

/**
 * @author chenshiyang
 * @time 2022/11/10 17:40
 * @name beyond-kotlin-frame
 * @class describe
 */
interface MutableContainer<S : UiState, E : UiEvent> : Container<S, E> {
    /**
     * 更新状态
     */
    fun updateState(action: S.() -> S)

    /**
     * 发送事件
     */
    fun sendEvent(event: E)
}